# Python 常用标准库
# 文件通配符,打印从当前工程目录开始,通过通配符搜索,以 list 的形式打印返回对应的文件列表
import glob

print(glob.glob('*.py'))

# 命令行参数
# 可以在运行Python程序时输入参数,并在程序中通过sys.argv进行访问
import sys

"""
使用命令行输入 python 文件名.py one two three 
会打印: ['.\\python基础\\demo2.py', 'one', 'two', 'three']
sys.argv[0] 是文件名
"""
print(sys.argv)

# 输入流:sys.stdin;输出流:sys.stdout;错误流:sys.stderr

print("hello world")
print("hello world", file=sys.stdout)
sys.stdout.write("hello world")

# stdout 重定向,输出到文件
# f = open('out.log', 'w')
# sys.stdout = f
# print("stdout")

# 使用sys.stderr 在终端显示错误
sys.stderr.write("Warning,log file not found \n")  # 会打印在终端的第一行

# sys.stdin
num = 0.0
for line in sys.stdin:
    num += float(line)

print("求和:", num)

# 实现输入从定向,从文件输入
f = open('out.log', 'r')
sys.stdin = f
f = input("请输入:")
print(f)

# sys.stderr 重定向

f = open('out.log', 'w')
sys.stderr = f
print(10/0)

# 回复标准输入/输出/错误流的默认值
sys.stdin = sys.__stdin__
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__

# from urllib.request import urlopen
#
# res = urlopen("http://www.baidu.com/")
# print(res.read().decode('utf-8'))

# 日期和时间
from datetime import date

now = date.today()
print(now)

print(now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B."))

birthday = date(2021,9,9)
age = now - birthday
print(age.days)